<?php
/*
**	Framework par Gaétan Collaud (gaga26@gmail.com)
*/

/** Tout début du script */
define('DEB', microtime(true));

header("Content-Type: text/html; charset=utf-8");

date_default_timezone_set('Europe/Zurich');

ob_start( extension_loaded('zlib') ? 'ob_gzhandler' : NULL); // tampon

session_start();//demarage de la session

//------------------------------
// config
//------------------------------

/** Nombre de jours pour les cookies */
define('COOKIES', 365);
/** Si le site est en développement */
define('DEVEL', true);
/** Design par défaut */
define('THEME', 'default');	//thèmes du site
/** Temps par défaut avant la redirection lors de redirection */
define('TEMPS', 3);			//temps avant redirection
/** Titre du site */
define('TITRE_SITE', 'Framework');//Titre du site

/** Chemin absolu vers la racine du site */
define('ABS_DIR', str_replace('\\', '/', dirname(__FILE__).'/'));

if($_SERVER['HTTP_HOST'] == '192.168.2.104' || $_SERVER['HTTP_HOST'] == 'localhost' || strpos($_SERVER['HTTP_HOST'], 'gaga26')!==FALSE) { //local
	define('URL_DIR', 'http://'.$_SERVER['HTTP_HOST'].'/framework/');
}else{ //serveur distant
	define('URL_DIR', 'http://'.$_SERVER['HTTP_HOST'].'/');
}

set_include_path(ABS_DIR);

/**
 * Fonction permettant les imports à la façon java
 * @param String $f le fichier à importer
 */
function import($f){
	require_once str_replace('.', '/', $f).'.php';
}

import('libs.GlobalVar');
import('libs.Gagatranslate');
import('libs.Base');
import('libs.auth.Session');
import('libs.bdd.mysql.MySql');
import('libs.cache.Cache');
import('libs.abstract.AbstractCtrl');
import('libs.Log');

//------------------------------
// Fin config, début page
//------------------------------
Base::start(
	new Gagatranslate(ABS_DIR),
	new MySql('localhost', 'framework', 'workframe', 'framework'));
Base::startSession(new Session());

Base::getSession()->createConstantes();

//option du moteur de templates
Base::getTpl()->tplDir = '/';
Base::getTpl()->compileDir = 'compile/';

/** Url vers le dossier du design */
define('THEME_DIR', URL_DIR.'html/designs/'.THEME.'/');

//------------------------------
// Config du devellopemement
//------------------------------
if(DEVEL){
	Base::getTpl()->forceCompile = true;
	Cache::setDevelop(true);
	Log::setLogLevel(Log::LOGLVL_SQL);
	Log::dispMsg();
}

//------------------------------
// Début du Ctrl
//------------------------------
/** Module en cours */
$mod = GET('mod')->value();
/** Page en cours */
$page = GET('page')->value();

/** Inclusion du Controleur */
import('modules.'.$mod.'.Ctrl');

/** Instanciation du Controleur */
$ctrl = new Ctrl();
$ctrl->init('modules/'.strtolower($mod).'/', strtolower($mod));
$ctrl->call($page);
?>
